package com.ym.medical.domain.param;

import com.ym.common.constant.BeanCovert;
import com.ym.soso.domain.entity.AppHealthPlateEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;

@Data
@ApiModel(value = "健康板块")
public class AppHealthPlateParam extends BeanCovert<AppHealthPlateEntity> {
	@ApiModelProperty("主键")
	@NotNull(message = "主键不能为空!")
	private Long id;

	@ApiModelProperty("标题")
	@NotNull(message = "标题不能为空!")
	@Size(max = 200, message = "标题长度必须在{min}和{max}之间")
	private String title;

	@ApiModelProperty("受众")
	@NotNull(message = "受众不能为空!")
	@Size(max = 2, message = "受众长度必须在{min}和{max}之间")
	private String applyItem;

	@ApiModelProperty("来源")
	@NotNull(message = "来源不能为空!")
	@Size(max = 2, message = "来源长度必须在{min}和{max}之间")
	private String source;

	@ApiModelProperty("图片")
	@NotNull(message = "图片不能为空!")
	@Size(max = 200, message = "图片长度必须在{min}和{max}之间")
	private String bannerImg;

	@ApiModelProperty("作者")
	@Size(max = 200, message = "作者长度必须在{min}和{max}之间")
	private String author;

	@ApiModelProperty("标签")
	@Size(max = 2, message = "标签长度必须在{min}和{max}之间")
	private String tag;

	@ApiModelProperty("模块")
	@NotNull(message = "模块不能为空!")
	@Size(max = 2, message = "模块长度必须在{min}和{max}之间")
	private String model;

	@ApiModelProperty("分类")
	@Size(max = 2, message = "分类长度必须在{min}和{max}之间")
	private String classify;

	@ApiModelProperty("首页推送")
	@Size(max = 2, message = "首页推送长度必须在{min}和{max}之间")
	private String indexPush;

	@ApiModelProperty("简介")
	@Size(max = 500, message = "简介长度必须在{min}和{max}之间")
	private String simple;

	@ApiModelProperty("审核状态01未审核02审核通过03审核不通过")
	@NotNull(message = "审核状态01未审核02审核通过03审核不通过不能为空!")
	@Size(max = 2, message = "审核状态01未审核02审核通过03审核不通过长度必须在{min}和{max}之间")
	private String auditStatus;

	@ApiModelProperty("发布时间")
	private Date publishTime;

	@ApiModelProperty("阅读量")
	@Max(value = 2147483647, message = "阅读量最大值不能高于{value}")
	@Min(value = -2147483648, message = "阅读量最小值不能低于{value}")
	private Integer readNum;

	@ApiModelProperty("转发量")
	@Max(value = 2147483647, message = "转发量最大值不能高于{value}")
	@Min(value = -2147483648, message = "转发量最小值不能低于{value}")
	private Integer forwardNum;

	@ApiModelProperty("状态 00已发布01未发布")
	@NotNull(message = "状态 00已发布01未发布不能为空!")
	@Size(max = 2, message = "状态 00已发布01未发布长度必须在{min}和{max}之间")
	private String publishStatus;

	@ApiModelProperty("排序")
	@Max(value = 2147483647, message = "排序最大值不能高于{value}")
	@Min(value = -2147483648, message = "排序最小值不能低于{value}")
	private Integer sortNum;

	@ApiModelProperty("创建时间")
	@NotNull(message = "创建时间不能为空!")
	private Date createTime;

	@ApiModelProperty("创建人")
	@NotNull(message = "创建人不能为空!")
	private Long createPerson;

	@ApiModelProperty("删除标志")
	@NotNull(message = "删除标志不能为空!")
	@Size(max = 2, message = "删除标志长度必须在{min}和{max}之间")
	private String deleted;

	@ApiModelProperty("跳转链接")
	@Size(max = 500, message = "跳转链接长度必须在{min}和{max}之间")
	private String targetUrl;

	@ApiModelProperty("内容")
	@Size(max = 65535, message = "内容长度必须在{min}和{max}之间")
	private String content;

	@ApiModelProperty("受众")
	private String applyItemName;

	@ApiModelProperty("来源")
	private String sourceName;

	@ApiModelProperty("标签")
	private String tagName;

	@ApiModelProperty("模块")
	private String modelName;

	@ApiModelProperty("分类")
	private String classifyName;

	@ApiModelProperty("首页推送")
	private String indexPushName;

	@ApiModelProperty("审核状态01未审核02审核通过03审核不通过")
	private String auditStatusName;

	@ApiModelProperty("状态 00已发布01未发布")
	private String publishStatusName;

	@ApiModelProperty("删除标志")
	private String deletedName;

	@ApiModelProperty("收藏")
	private boolean collect;

	@ApiModelProperty("总收藏数量")
	private int collectNum;

	/**
	 * 关键词
	 */
	@ApiModelProperty("关键词")
	private String keyword;



	public interface Add {

	}

	public interface Update {

	}



}
